<?php

namespace app\api\controller;

use think\Request;
use think\facade;
use app\common\model\User;

/**
 * 用户信息
 * Class Userr
 * @package app\api\controller
 */
class Userr extends AuthBase
{
    /**
     * 用户个人信息详情接口
     * @author bjy
     */
    public function detail()
    {
        $UserModel = new User();
        //根据用户id，获取用户信息
        $userInfo = $UserModel->getInfoById($this->userId);
        if (!$userInfo) {
            $this->show(-100, '用户信息不存在');
        }
        unset($userInfo['password']);//销毁密码
        $this->show(200, 'ok', $userInfo);
    }

    /**
     * 用户个人信息修改接口
     * @param $id '用户id
     * @param $data '修改的数据信息
     * @author bjy
     */
    public function update($id = null, $data)
    {
        $UserModel = new User();
        //根据用户id，获取用户信息
        $userInfo = $UserModel->getInfoById($id ?? $this->userId);
        if (!$userInfo) {
            $this->show(-100, '用户信息不存在');
        }

        //更新操作
        $data['update_time'] = time();//更新时间
        $updateResult        = $UserModel->updateById($userInfo['id'], $data);
        if (empty($updateResult)) {
            return show(-100, '更新数据失败');
        }

        //查找最新用户数据
        $userInfoNew = $UserModel->getInfoById($userInfo['id']);
        unset($userInfoNew['password']);
        $userInfoNew['token'] = $this->accessToken;//请求的token 信息

        //token记录到redis
        $res = cache(config('redis.front_token_pre') . $this->accessToken, $userInfoNew, config('redis.front_login_expire'));
        if (!$res) {
            return show(-100, '记录redis出错');
        }

        $this->show(200, 'ok', $userInfoNew);
    }
}